#ifndef FACTORIAELEMENTOSIMPRESION_H
#define FACTORIAELEMENTOSIMPRESION_H

#include "elementoimpresion.h"

class FactoriaElementosImpresion 
{
public:
    FactoriaElementosImpresion();
    ~FactoriaElementosImpresion();

    ElementoImpresion* crearElementoTexto(QString texto);
    ElementoImpresion* crearElementoImagen(QString nombreImagen, int ancho = -1, int alto = -1);
    ElementoImpresion* crearElementoImagen(QImage& imagen, double ancho, double alto);
    ElementoImpresion* crearElementoPixmap(QPixmap& imagen, double ancho, double alto);
    ElementoImpresion* crearElementoColumna(double porcentajeFinColumna);
    ElementoImpresion* crearElementoSaltoDeLinea();    
    ElementoImpresion* crearElementoSaltoDePagina();
    ElementoImpresion* crearElementoLineaHorizontal();
    ElementoImpresion* crearElementoNumeroPagina();
    ElementoImpresion* crearElementoAvanceVertical(double avance);    

    ElementoImpresion* crearElementoModoParrafo();
    ElementoImpresion* crearElementoModoLinea();
    ElementoImpresion* crearElementoModoTabla();
    ElementoImpresion* crearElementoInterlineado(double interlineado);    
    ElementoImpresion* crearElementoMargenCeldas(double margen);
    ElementoImpresion* crearElementoNombreFuente(QString nombreFuente);
    ElementoImpresion* crearElementoTamanoFuente(double tamanoFuente);
    ElementoImpresion* crearElementoNegrita(bool activar);
    ElementoImpresion* crearElementoCursiva(bool activar);
    ElementoImpresion* crearElementoSubrayado(bool activar);
    ElementoImpresion* crearElementoAlineacionHorizontal(int alineacion);
    ElementoImpresion* crearElementoAlineacionVertical(int alineacion);
    ElementoImpresion* crearElementoColor(QColor color);
    ElementoImpresion* crearElementoGrosorTrazo(double grosor);
    
};

#endif // FACTORIAELEMENTOSIMPRESION_H
